import cv2
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import Normalize


def analyze_infrared_image(image_path):
    """
    读取红外图像并分析其像素和通道信息

    参数：
        image_path: 红外图像路径（支持.png/.tiff/.raw等格式）
    """
    # 读取图像（保留原始位深）
    img = cv2.imread(image_path, cv2.IMREAD_UNCHANGED)

    if img is None:
        print("错误：无法读取图像，请检查路径")
        return

    # 基础信息
    print("\n=== 图像基础信息 ===")
    print(f"图像尺寸 (HxW): {img.shape[:2]}")
    print(f"通道数: {img.shape[2] if len(img.shape) == 3 else 1}")
    print(f"数据类型: {img.dtype}")
    print(f"像素值范围: [{img.min()}, {img.max()}]")

    cv2.imshow('Image',img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

# 使用示例
if __name__ == "__main__":
    import sys

    if len(sys.argv) > 1:
        analyze_infrared_image(sys.argv[1])
    else:
        print("请通过命令行参数指定图像路径，例如：")
        print("python temporary_test.py /path/to/your/infrared.tiff")
        print("\n或者直接修改代码中的测试路径：")
        test_image = "test_infrared.tiff"  # 替换为你的图像路径
        analyze_infrared_image(test_image)